<template>
  <span :class="`${prefixCls}__extra-redo`" @click="handleRedo">
    <RedoOutlined :spin="loading" />
  </span>
</template>
<script lang="ts">
import { defineComponent, ref } from 'vue'
import { RedoOutlined } from '@ant-design/icons-vue'
import { useDesign } from '@/hooks/web/useDesign'
import { useTabs } from '@/hooks/web/useTabs'

export default defineComponent({
  name: 'TabRedo',
  components: { RedoOutlined },

  setup() {
    const loading = ref(false)

    const { prefixCls } = useDesign('multiple-tabs-content')
    const { refreshPage } = useTabs()

    async function handleRedo() {
      loading.value = true
      await refreshPage()
      setTimeout(() => {
        loading.value = false
        // Animation execution time
      }, 1200)
    }
    return { prefixCls, handleRedo, loading }
  },
})
</script>
